home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Graphics_Utils / Video Easel / Scripts / DrawCircle.rexx next >
OS/2 REXX Batch file  |  1998-06-24  |  1KB  |  53 lines

  1. /*************************************************************************
  2.  ** DrawCircle.rexx                                                     **
  3.  ** this Rexx-Script supplies a Draw-Circle function                    **
  4.  ** however, this could be done better, this is just a demonstration... **
  5.  ** (need rexxmathlib, ignores line-style)                              **
  6.  **   © THOR 1995                                                       **
  7.  *************************************************************************/
  8.  
  9. 'getrange' 'brush_line' 'pos'
  10. if pos.count=2 then 
  11. do
  12.    pi=3.1415926
  13.    twopi=2*pi
  14.    xm=pos.x.0
  15.    ym=pos.y.0
  16.    deltax=pos.x.0-pos.x.1
  17.    deltay=pos.y.0-pos.y.1
  18.    r=sqrt(deltax*deltax+deltay*deltay)
  19.    stps=2*int(r)
  20.    if stps<2 then
  21.       stps=2
  22.    incr=pi/stps
  23.    'lockgui'
  24.    'lockundo'
  25.    'fetchundo'
  26.    'pushtool' 'cell_window' 'lines' 'left' 'left'
  27.    do arg=0 to twopi+incr by incr
  28.       if arg=0 then 
  29.       do
  30.          x1=r*cos(arg)+xm
  31.          y1=r*sin(arg)+ym
  32.          'inside' x1 y1 'in'
  33.          if in='TRUE' then
  34.             'click' x1 y1
  35.       end 
  36.       else 
  37.       do
  38.          x2=r*cos(arg)+xm
  39.          y2=r*sin(arg)+ym
  40.          'inside' x1 y1 'in'
  41.          'inside' x2 y2 'in2'
  42.          if (in='TRUE') & (in2='TRUE') then
  43.             'drag' x1 y1 x2 y2
  44.             
  45.          x1=x2
  46.          y1=y2
  47.       end
  48.    end
  49.    'unlockundo'
  50.    'unlockgui'
  51. end
  52.  
  53.